<div class="tree tree-bg-dragout " style="overflow:auto; overflow-x: auto; border:none; min-height: 70vh; max-height: 79vh; margin-bottom: 0px;">
    <ul style="padding-left: 5px" ng-if="schema.dimension">
        <li class="parent_li">
            <span><img src="imgs/schema/dimension.gif"><b>{{'CONFIG.DATASET.DIMENSION'|translate}}</b></span>
            <ul>
                <li ng-repeat="o in schema.dimension|filter:filterDimension" ng-switch="o.type" ng-class="{'level':'parent_li'}[o.type]">
                    <span ng-switch-when="level" style="cursor: not-allowed;"><i class="fa fa-caret-down"/><img src="imgs/schema/hierarchy.gif">{{o.alias}}</span>
                    <span ng-switch-when="column"
                          dnd-draggable="o"
                          dnd-type="'dimension'"
                          dnd-dragstart="onDragstart('dimension')" dnd-dragend="onDragCancle()">
                        <img src="imgs/schema/bullet_blue.png">{{o.alias?o.alias:o.column}}
                    </span>
                    <ul ng-switch-when="level">
                        <li ng-repeat="c in o.columns|filter:filterDimension" >
                            <span dnd-draggable="dndTransfer.attachLevel(c,o)"
                                  dnd-type="'dimension'"
                                  dnd-dragstart="onDragstart('dimension')" dnd-dragend="onDragCancle()">
                                <img src="imgs/schema/bullet_blue.png">{{c.alias?c.alias:c.column}}</span>
                    </li>
                    </ul>
                </li>
            </ul>
        </li>
    </ul>
    <ul style="padding-left: 5px" ng-if="schema.measure">
        <li class="parent_li">
            <span><img src="imgs/schema/measure.gif"><b>{{'CONFIG.DATASET.MEASURE'|translate}}</b></span>
            <ul>
                <li ng-repeat="o in schema.measure">
                    <span dnd-draggable="o"
                          dnd-type="'measure'"
                          dnd-dragstart="onDragstart('measure')" dnd-dragend="onDragCancle()"
                    ><img src="imgs/schema/bullet_red.png">{{o.alias?o.alias:o.column}}</span>
                </li>
            </ul>
        </li>
    </ul>
    <ul style="padding-left: 5px" ng-if="schema.selects">
        <li class="parent_li">
            <span><b>{{'CONFIG.DATASET.UNCLASSIFY'|translate}}</b></span>
            <ul>
                <li ng-repeat="o in schema.selects|filter:filterDimension">
                    <span dnd-draggable="o"
                          dnd-type="'select'"
                          dnd-dragstart="onDragstart('select')" dnd-dragend="onDragCancle()"
                    ><img src="imgs/schema/bullet_red.png">{{o.column}}</span>
                </li>
            </ul>
        </li>
    </ul>
    <ul style="padding-left: 5px">
        <li class="parent_li">
            <span><img src="imgs/schema/measure.gif"/><b>{{'CONFIG.COMMON.CUSTOM_EXPRESSION'|translate}}</b></span>
            <i ng-if="customDs" class="glyphicon glyphicon-plus" ng-click="editExp()"></i>
            <ul>
                <li ng-repeat="o in curWidget.expressions|filter:filterExpressions">
                    <span dnd-draggable="o"
                          dnd-type="'exp'"
                          dnd-dragstart="onDragstart('exp')" dnd-dragend="onDragCancle()">
                        <img src="imgs/schema/bullet_red.png">{{o.alias}}
                    </span>
                    <i class="fa fa-edit" ng-click="editExp(o)" ng-if="!isDsExpression(o)"></i>
                    <i class="text-blue fa fa-info-circle" ng-click="viewExp(o)"></i>
                    <i class="fa fa-trash-o" ng-click="curWidget.expressions.splice($index, 1)" ng-if="!isDsExpression(o)"></i>
                </li>
            </ul>
        </li>

        <li class="parent_li">
            <span><img src="imgs/schema/filter.png"/><b>{{'CONFIG.DATASET.FILTER'|translate}}</b></span>
            <i class="glyphicon glyphicon-plus" ng-click="editFilterGroup()"></i>
            <ul>
                <li ng-repeat="o in curWidget.filterGroups|filter:filterFilterGroup">
                    <span dnd-draggable="o"
                          dnd-type="'filterGroup'"
                          dnd-dragstart="onDragstart('filterGroup')" dnd-dragend="onDragCancle()">
                        <img src="imgs/schema/bullet_green.png">{{o.group}}</span>
                    <i class="fa fa-edit" ng-click="editFilterGroup(o)" ng-if="!isDsFilter(o)"></i>
                    <i class="fa fa-trash-o" ng-click="curWidget.filterGroups.splice($index, 1)" ng-if="!isDsFilter(o)"></i>
                </li>
            </ul>
        </li>
    </ul>
</div>